﻿import { IFileAttachment, ISysOrg, ISysGroup, ISysJobPosition } from '/@/views/fileattachment/api/interface';

export interface ISysPersonRepairBill {
	ID?: string | null;
	BillCode: string | null;
	BillStatus: number | null | string;
	WorkflowStatus: number | null | string;
	Remark: string | null;
	Approver: string | null;
	ApprovalTime: Date | null;
	Name: string | null;
	StaffNo: string | null;
	BirthDate: Date | null;
	Age: number | null;
	Gender: number | null;
	Ethnicity: number | null;
	HighestEducation: number | null;
	MaritalStatus: number | null;
	PhotoId: null;
	Photo?: IFileAttachment;
	IsVeteran: string | null;
	VeteranCertificateId: null | string;
	VeteranCertificate?: IFileAttachment;
	IdCardNo: string | null;
	IdCardFrontPhotoId: null;
	IdCardFrontPhoto?: IFileAttachment;
	IdCardBackPhotoId: null;
	IdCardBackPhoto?: IFileAttachment;
	IdCardExpiryDate: Date | null | string;
	HouseholdRegistration: string | null;
	NativePlace: string | null;
	PoliticalStatus: number | null;
	PartyJoinDate: Date | null;
	PartyBranch: string | null;
	ArchiveLocation: string | null;
	ArchiveNo: string | null;
	ArchiveTransferOutDate: Date | null;
	ArchiveTransferInDate: Date | null;
	HomeAddress: string | null;
	Phone: string | null;
	Email: string | null;
	SalaryBank: string | null;
	SalaryAccount: string | null;
	BonusBank: string | null;
	BonusAccount: string | null;
	OrgId: null;
	Org?: ISysOrg;
	GroupId: null;
	Group?: ISysGroup;
	JobPositionId: null;
	JobPosition?: ISysJobPosition;
	ResumeId: null;
	Resume?: IFileAttachment;
	HireDate: Date | null;
	ConfirmationDate: Date | null;
	EmploymentType: number | null;
	ContractType: number | null;
	ContractNo: string | null;
	ContractStartDate: Date | null;
	ContractEndDate: Date | null;
	ResignationDate: Date | null;
	ResignationReason: string | null;
	ResignationType: number | null;
	State: '在职' | '离职' | '退休' | null;
	BloodType: number | null;
	Hobbies: string | null;
	JoinWorkDate: Date | null; // 参加工作日期
	ArchiveAgeDate: Date | null; // 档案年龄日期
	Order: number | null;
	WorkYears: number | null; // 工龄（支持小数，如1.5年）
	CompanyYears: number | null; // 司龄（支持小数，如1.5年）
}

export interface ISysPersonRepairBillVm {
	Entity: ISysPersonRepairBill;
	ActionName: string | null;
	Remark: string | null;
	IsMyApprove: boolean | null;
}

export interface ISysPersonRepairBillView extends ISysPersonRepairBill {
	ActionNames?: string;
}

export interface ISysPersonRepairBillQuery {
	BillCode?: string;
	BillStatus?: number;
	WorkflowStatus?: string;
	Approver?: string;
	ApprovalTime?: Date;
	Name?: string;
	StaffNo?: string;
	BirthDate?: Date;
	AgeStart?: number;
	AgeEnd?: number;
	Gender?: number | string;
	Ethnicity?: number | string;
	HighestEducation?: number;
	MaritalStatus?: number;
	IdCardNo?: string;
	IsVeteran?: number | string;
	State?: number | string;
	PoliticalStatus?: number;
	Phone?: string;
	OrgId?: string | number;
	WorkYearsStart?: number;
	WorkYearsEnd?: number;
	CompanyYearsStart?: number;
	CompanyYearsEnd?: number;
	ArchiveLocation?: string;
	ArchiveNo?: string;
}
